﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;

namespace AvaProvi
{
    class clsColindancia_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.ColindanciasTableAdapter TAColindancias;

        public clsColindancia_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsTerreno.DataSetName = "dsTerreno";

            this.TAColindancias = new AvaProvi.dsTerrenoTableAdapters.ColindanciasTableAdapter();
            this.TAColindancias.ClearBeforeFill = true;
            //falta la cadena de conexion
        }

        public BindingList<dsTerreno.ColindanciasRow> RecuperaColindancias(int IDAvaluo)
        {
            BindingList<dsTerreno.ColindanciasRow> blColindancias = new BindingList<dsTerreno.ColindanciasRow>();
            try
            {
                TAColindancias.RecuperaColindanciasDeAvaluo(dsTerreno.Colindancias, IDAvaluo);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, e.Source, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            foreach (dsTerreno.ColindanciasRow filaColindancia in dsTerreno.Colindancias)
            {
                blColindancias.Add(filaColindancia);
            }
            return blColindancias;
        }

        public bool CreaColindancia(clsColindancia_CRN objColindancia)
        {
            int RegistrosAfectados = TAColindancias.NuevaColindancia(
                objColindancia.Medida.Terreno.Inmueble.Avaluo.IdAvaluo,
                objColindancia.Orientacion,
                objColindancia.Metros,
                objColindancia.ColindaCon);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaColindancia(clsColindancia_CRN objColindancia)
        {
            int RegistrosAfectados = TAColindancias.ActualizaColindancia(                
                objColindancia.Orientacion,
                objColindancia.Metros,
                objColindancia.ColindaCon,
                objColindancia.Medida.Terreno.Inmueble.Avaluo.IdAvaluo,
                objColindancia.IDColindancia);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaColindancia(clsColindancia_CRN objColindancia)
        {
            int RegistrosAfectados = TAColindancias.EliminaColindancia(               
                objColindancia.Medida.Terreno.Inmueble.Avaluo.IdAvaluo,
                objColindancia.IDColindancia);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
